//# define _CRT_SECURE_NO_WARNINGS//

//# include <stdio.h>
//# include <malloc.h>
//
//typedef struct BTNODE
//{
//	char data;
//	struct BTNODE * Lchild;
//	struct BTNODE * Rchild;
//}BT;
//
//struct BTNODE * create(void)
//{
//	struct BTNODE * pTA = (struct BTNODE *)malloc(sizeof(BT));
//	struct BTNODE * pTB = (struct BTNODE *)malloc(sizeof(BT));
//	struct BTNODE * pTC = (struct BTNODE *)malloc(sizeof(BT));
//	struct BTNODE * pTD = (struct BTNODE *)malloc(sizeof(BT));
//	struct BTNODE * pTE = (struct BTNODE *)malloc(sizeof(BT));
//	
//	pTA->data = 'A';
//	pTB->data = 'B';
//	pTC->data = 'C';
//	pTD->data = 'D';
//	pTE->data = 'E';
//
//	pTA->Lchild = pTB;
//	pTA->Rchild = pTC;
//	pTB->Lchild = pTB->Rchild = NULL;
//	pTC->Lchild = pTD;
//	pTC->Rchild = NULL;
//	pTD->Lchild = NULL;
//	pTD->Rchild = pTE;
//	pTE->Lchild = pTE->Rchild = NULL;
//
//	return pTA;
//
//}
//
//void PreBT(struct BTNODE * pT)
//{
//	if (NULL != pT)
//	{
//		printf("%c\n", pT->data );
//	}
//	if (NULL != pT->Lchild)
//	{
//		PreBT(pT->Lchild);
//	}
//	if (NULL != pT->Rchild)
//	{
//		PreBT(pT->Rchild);
//	}
//
//}
//
//void InBT(struct BTNODE * pT)
//{
//	if (NULL != pT)
//	{
//		if (NULL != pT->Lchild)
//		{
//			InBT(pT->Lchild);
//		}
//	}
//	printf("%c\n", pT->data );
//
//	if (NULL != pT->Rchild)
//	{
//		InBT(pT->Rchild);
//	}
//}
//
//void PostBT(struct BTNODE * pT)
//{
//	if (NULL != pT)
//	{
//		if (NULL != pT->Lchild)
//		{
//			PostBT(pT->Lchild);
//		}
//	}
//
//	if (NULL != pT->Rchild)
//	{
//		PostBT(pT->Rchild);
//	}
//	printf("%c\n", pT->data );
//}
//
//
//int main(void)
//{
//	BT * pT = create();
//
//	PreBT(pT);
//	printf("\n");
//	InBT(pT);
//	printf("\n");
//
//	PostBT(pT);
//
//}